/******************************************************************************/
/*               (C) 斯凯瑞利（北京）科技有限公司(SKYRELAY)                   */
/*                                                                            */
/* 此代码是斯凯瑞利（北京）科技有限公司为支持客户编写的示例程序的一部分       */
/* 所有使用斯凯瑞利相关芯片的用户可以无偿使用该代码，但需保留本声明部分       */
/* 本代码仅为演示使用，不保证符合所有的应用要求，当有特定规范或需求时，       */
/* 使用者需自行确认代码是否符合要求，不合要求时自行做出相应的修改。           */
/* http://www.skyrelay-ic.com                                                 */
/******************************************************************************/
/**
 ******************************************************************************
 ** 文 件 名： mifare1.h
 **
 ** 文件简述： 与NFC NTAG Type2卡有关的操作函数，变量以及常量定义
 **
 ** 版本历史:
 ** 2019-05-05 V1.00  Mark   正式版本
 ******************************************************************************/
#ifndef __MIFARE1_H_
#define __MIFARE1_H_
#include "sky1311_def.h"

#define     M1_AUTH         0x60
#define     M1_AUTH_KEYA    0x60
#define     M1_AUTH_KEYB    0x61
#define     M1_READ         0x30
#define     M1_WRITE        0xA0
#define     M1_INCREMENT    0xC1
#define     M1_DECREMENT    0xC0
#define     M1_RESTORE      0xC2
#define     M1_TRANSFER     0xB0
#define     M1_ACK          0x0A

sta_result_t M1_Authentication(uint8_t auth_mode,uint8_t *m1Key,uint8_t *uid, uint8_t blockAddr);
sta_result_t M1_PwdChange(uint8_t blockAddr, uint8_t *key_a, uint8_t *key_b);
sta_result_t M1_Write(uint8_t blockAddr, uint8_t* dat);
sta_result_t M1_Read(uint8_t blockAddr, uint8_t *blockBuff);
sta_result_t M1_Increment(uint8_t blockAddr, uint32_t value);
sta_result_t M1_Decrement(uint8_t blockAddr, uint32_t value);
sta_result_t M1_Transfer(uint8_t blockAddr);
sta_result_t M1_Restore(uint8_t blockAddr);

#endif
